////////////////////////////////////////////////////////////////////////////////
// Filename: Mouse.h
////////////////////////////////////////////////////////////////////////////////
#ifndef _MOUSE_H_
#define _MOUSE_H_
#include <dinput.h>

////////////////////////////////////////////////////////////////////////////////
// Class name: Mouse
////////////////////////////////////////////////////////////////////////////////
class Mouse
{
public:
	static Mouse* Instance();

	Mouse();
	Mouse(const Mouse&);
	~Mouse();

	void Initialize(HWND hWnd, HINSTANCE hInstance);

	void Update();
	DIMOUSESTATE2 getMouseState();

private:
	HWND mHWnd;
	DIMOUSESTATE2 mMouseState;
	LPDIRECTINPUT8  mDInput;
	LPDIRECTINPUTDEVICE8W  mDIMouse;
	static Mouse* mInstance;
};
#endif